1. Field of the Invention
The invention described herein is related to switching devices for sharing a peripheral device among a plurality of computing devices. More specifically, the present invention selectively connects a peripheral device to one of a plurality of computing devices that presents a predetermined state at a communication port thereof and for simulating an active communication link between a computing device and the peripheral device when a computing device at the predetermined state is not available among the plurality of computing devices.
2. Description of the Prior Art
Referring to FIG. 1, there is shown an exemplary network architecture found in, for example, tactical military environments. The network consists of a plurality of computing devices, such as single board computer (SBCs) 50a–50h electrically coupled to back plane 40 and mechanically secured within chassis 30. Each computing device 50a–50h is electrically coupled to a corresponding peripheral device, such as precision lightweight global positioning system receivers (PLGRs) 10a–10h. Each peripheral device 10a–10h is coupled to a corresponding chassis port 20a–20h via communications cable 15a–15h, respectively. Individual communication paths are separately maintained between the peripheral device 10a–10h and its corresponding computing device 50a–50h. The electrical connection between the peripheral port 20a–20h and its corresponding computing device 50a–50h may be hard-wired directly or may be distributed in conductors along the back plane 40.
It is apparent from FIG. 1 that the redundancy of the components of the depicted network can be extremely costly. For example, each PLGR 10a–10h of the network may cost hundreds, if not thousands, of dollars. However, in some applications, the parallel structure, i.e., each single board computer 50a–50hcoupled to its own PLGR 10a–10h, respectively, may be necessary or unavoidable. For example, each single board computer 50a–50h may be dedicated to a specific application and may be executing the program code therefore under separate and distinct operating systems. Each of the single applications being executed on the single board computers 50a–50h may require its own set of global positioning system (GPS) data and, therefore, requires a dedicated PLGR.
One alternative to the redundancy of peripheral devices is to interpose a peripheral switch 60 between a single peripheral device 10 and the plurality of computing devices 50a–50h, as is illustrated in FIG. 2. Through peripheral switch 60, a single communication path may be selectively established between the peripheral device 10, coupled at peripheral port 80, and each of the single board computers 50a–50h, coupled at host computer ports 70a–70h of peripheral switch 60 and computer chassis ports 20a–20h of computer chassis 30.
Peripheral sharing switches are well-known in the art. U.S. Pat. No. 4,608,663 to Gordon discloses a computer network incorporating a switch by which more than one computer shares a common peripheral. The switch searches for hosts with an active request line. Hosts gain access to the peripheral based upon a predetermined search sequence and upon the discovery, in the predetermined search sequence, of an active request line. Such switches may be useful for simple networks, but may not be used for distributing the functionality of the peripheral to a number of differently configured computer systems, each requiring a unique communication protocol. Moreover, the peripheral switch of Gordon cannot be effectively utilized to establish a communication between a peripheral requiring a particular host computer signature and a particular computing device in possession of the host computer signature. Such is the case of PLGR 10 of FIG. 2, which requires a host computer configured as a server computer having a particular state in order to connect therewith. Such a server computer may be connected at any of the host computer ports 70a–70h and the switch of Gordon is not equipped to locate the server computer at any given instant of time so that communication with the PLGR 10 can be established.
Another peripheral switch of the prior art is disclosed in U.S. Pat. No. 5,307,462 to Hastings. The peripheral sharing device of Hastings allows multiple hosts to share a single peripheral such as a printer or a fax machine. The switch relies on stored peripheral state information to restore the peripheral to a previous configuration when one host is finished with the peripheral. It is assumed that the peripheral changes state when the host requires it and that the peripheral has no requirements as to the state of the host. However, if the peripheral were such that it would change state depending on the availability and operating status of a host (e.g., going into a “sleep” state when a host does not require it), a network incorporating the switch of Hastings would behave erratically when the peripheral automatically changed its operating mode and a host was expecting a “ready” peripheral with which to connect.
Another approach to peripheral sharing is disclosed in U.S. Pat. No. 6,308,239 to Osakada, et al., which utilizes features of the universal serial bus architecture and communication protocol. The switch of Osakada, et al. allows flexible means for connecting a peripheral to a host computer, however, the host must request the switching action. Thus, the switch disclosed by Osakada, et al. has limited applicability when the peripheral actively searches its connection for a specific host signature. Further, the switch of Osakada, et al. does not provide means for preventing the peripheral from reverting to a secondary mode of operation should there be a failure to find a host of the specified signature.
In light of the foregoing discussion, there exists a need in the field of peripheral sharing for a peripheral switch that shares the functionality of a single peripheral among a plurality of distinctly configured computers. There is a further need for a peripheral switch which provides a default communication with the peripheral when a server computer, or a computer with a particular configuration, cannot be found. Furthermore, there is the need for the peripheral switch to be programmable to accommodate various network changes.